package cn.hinglo.gameclaw.admin.service;

import cn.hinglo.gameclaw.admin.dao.QqDao;
import cn.hinglo.gameclaw.data.utils.FieldUtils;
import cn.hinglo.gameclaw.data.utils.FileImageUtils;
import cn.hinglo.gameclaw.user.bean.Qq;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @createTime: 2018/5/10
 * @author: HingLo
 * @description: QQ群管理服务
 */
@Service
public class QqService {

    private final QqDao qqDao;

    @Autowired
    public QqService(QqDao qqDao) {
        this.qqDao = qqDao;
    }

    public List<Qq> listService() {
        return qqDao.selectAll();
    }

    /**
     * 添加QQQ群管理
     *
     * @param num 请求群号码
     * @param img 二维吗
     * @return 返回添加结果
     */
    public boolean addService(String num, MultipartFile img) {
        String fileName = FileImageUtils.createFileNameUtils(img);
        boolean bool = FileImageUtils.saveImageUtils(img, fileName, FieldUtils.IMAGE_6);
        Qq qq = new Qq().setNum(num).setPic(fileName).setStatus(false);
        return qqDao.insert(qq) == 1;
    }

    /**
     * 修改群的使用状态
     *
     * @param id     qq群的Id
     * @param status 修改的状态
     * @return 返回是否修改成功
     */
    public boolean updateService(Long id, Boolean status) {
        Qq qq = new Qq().setId(id).setStatus(status);
        return qqDao.updateByPrimaryKeySelective(qq) == 1;
    }

    /**
     * 用户客户端查看QQ群请求的信息
     *
     * @return 返回可用的QQ群
     */
    public Qq queryQQService() {
        Qq qq = new Qq().setStatus(true);
        List<Qq> list = qqDao.select(qq);
        return list.isEmpty() ? null : list.get(0);
    }

}
